package IO流案例;

import java.io.*;

public class 复制单级文件夹 {
    public static void main(String[] args) throws IOException {
        /*创建数据源目录File对象，路径是D:\\111*/
        File srcFolder = new File("D:\\111");
        /*获取数据源目录File对象的名称*/
        String srcFolderName = srcFolder.getName();
        /*创建目的地目录File对象,路径名是模块名+111组成(day10\\111)*/
        File destFolder = new File("day10", srcFolderName);
        /*判断目的地目录对应的File是否存在，如果不存在就创建*/
        if(!destFolder.exists()){
            destFolder.mkdir();
        }
        /*获取数据源目录下所有文件的File数组*/
        File[] listFiles = srcFolder.listFiles();
        /*遍历File数组，得到每一个File对象，该File对象其实就是每一个数据源文件*/
        for (File srcFile:listFiles) {
            /*获取数据源文件File对象的名称*/
            String srcFileName = srcFile.getName();
            /*创建目的地文件File对象，路径名是目的地目录+File对象的名称组成*/
            File destFile = new File(destFolder, srcFileName);
            /*复制文件*/
            copyFile(srcFile,destFile);
        }
    }
    private static void copyFile(File srcFile,File destFile) throws IOException {
        /*读取文件*/
        BufferedInputStream bis = new BufferedInputStream(new FileInputStream(srcFile));
        /*写文件*/
        BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(destFile));
        byte[] bys = new byte[1024];
        int len;
        while ((len=bis.read(bys))!=-1){
            bos.write(bys,0,len);
        }
        bos.close();
        bis.close();
    }
}